package reflect.demo;

import java.lang.reflect.Method;

/**
 * 调用有参方法
 */
public class ReflectDemo5 {
    public static void main(String[] args) throws Exception {
        Class cls = Class.forName("reflect.demo.Person");
        Object obj = cls.newInstance();

        //getMethod()第一个参数为方法名，从第二个参数开始为该方法的参数列表
        Method m1 = cls.getMethod("say",String.class);//say(String info)
        //invoke()第一个参数为方法所属对象，从第二个参数开始就是调用该方法时需要出入的实参
        m1.invoke(obj,"大家好!");//p.say("大家好!");

        //say(String info,int count)
        Method m2 = cls.getMethod("say",String.class,int.class);
        m2.invoke(obj,"嘿嘿嘿",5);//p.say("嘿嘿嘿",5);

    }
}






